package BufferedOutputStream.peoject;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/*
     BufferedOutputStream:字节缓冲输出流
            extends OutoutStream抽象类
     作用：为FileOutoutStream创建一个缓冲区（数组），提高写入效率

     步骤：1.创建 FileOutputStream对象，构造方法中指定要绑定的输出的目的地
          2.创建  BufferedOutputStream对象，构造方法中传递 FileOutoutStream对象（用来给它创建缓冲区，提高xiaolv）
          3.使用BufferedOutputStream对象中的write（）方法，把数据写入到内部缓冲区中
          4.使用BufferedOutputStream对象中的flush（）方法，把缓冲区的数据刷新到文件中(要不然数据进入不到文件中)
          5.释放资源（本身会调用flush（）方法，第四步可以不写）
 */
public class PracticeMain {
    public static void main(String[] args) throws IOException {
       // 1.创建 FileOutoutStream对象，构造方法中指定要绑定的输出的目的地
        FileOutputStream fos = new FileOutputStream("E:\\idea\\IntelliJ IDEA 2020.3\\perject_idea\\20210325\\e.txt");
        //2.创建  BufferedOutputStream对象，构造方法中传递 FileOutoutStream对象（用来给它创建缓冲区，提高xiaolv）
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        //3.使用BufferedOutputStream对象中的write（）方法，把数据写入到内部缓冲区中
        bos.write("我是缓冲流".getBytes());
        // 4.使用BufferedOutputStream对象中的flush（）方法，把缓冲区的数据刷新到文件中(要不然数据进入不到文件中)
        bos.flush();
        //5.释放资源（本身会调用flush（）方法，第四步可以不写）
        bos.close();
    }
}
